56 research outputs found

    Completeness of a relational calculus for program schemes

    Get PDF
    AbstractThe relational calculus MU was presented in Willem-Paul de Roever's dissertation as a framework for describing and proving properties of programs. MU is axiomatized by de Roever in stages. The next-to-last stage is the calculus MU2, namely MU without the recursive μ-operator. Its axioms include typed versions of Tarski's axioms for the calculus of relations, together with axioms for the projection functions. For MU there is, in addition, an axiom expressing the least-fixed-point property of terms containing the μ-operator, and Scott's induction rule. Thus MU2 is a calculus for nonrecursive program schemes. Around 1976 David Park conjectured that de Roever's axiomatization for MU2 is complete. In this paper, we confirm Park's conjecture

    A proof of the interpretability of P/PML in a relational setting

    Get PDF
    In [1] we presented the logic P=PML, a formalism suitable for the speci cation and construction of Real-Time systems. The main algebraic result, namely, the interpretability of P/PML into an equa- tional calculus based on w-closure fork algebras (which allows to reason about Real-Time systems in an equational calculus) was stated but not proved because of the lack of space. In this paper we present a detailed proof of the interpretability theorem, as well as the proof of the representation theorem for w-closure fork alge- bras which provides a very natural semantics based on binary relations for the equational calculus.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI

    HeteroGenius: A Framework for Hybrid Analysis of Heterogeneous Software Specifications

    Get PDF
    Nowadays, software artifacts are ubiquitous in our lives being an essential part of home appliances, cars, cell phones, and even in more critical activities like aeronautics and health sciences. In this context software failures may produce enormous losses, either economical or, in the worst case, in human lives. Software analysis is an area in software engineering concerned with the application of diverse techniques in order to prove the absence of errors in software pieces. In many cases different analysis techniques are applied by following specific methodological combinations that ensure better results. These interactions between tools are usually carried out at the user level and it is not supported by the tools. In this work we present HeteroGenius, a framework conceived to develop tools that allow users to perform hybrid analysis of heterogeneous software specifications. HeteroGenius was designed prioritising the possibility of adding new specification languages and analysis tools and enabling a synergic relation of the techniques under a graphical interface satisfying several well-known usability enhancement criteria. As a case-study we implemented the functionality of Dynamite on top of HeteroGenius.Comment: In Proceedings LAFM 2013, arXiv:1401.056

    How to say greedy in fork algebras

    Get PDF
    Because of their expressive power, binary relations are widely used in program specification and development within formal calculi. The existence of a finite equational axiomatization for algebras of binary relations with a fork operation guarantees that the heuristic power coming from binary relations is captured inside an abstract equational calculus. In this paper we show how to express the greedy program design strategy into the first order theory of fork algebras.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI

    How to say greedy in fork algebras

    Get PDF
    Because of their expressive power, binary relations are widely used in program specification and development within formal calculi. The existence of a finite equational axiomatization for algebras of binary relations with a fork operation guarantees that the heuristic power coming from binary relations is captured inside an abstract equational calculus. In this paper we show how to express the greedy program design strategy into the first order theory of fork algebras.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI

    On the construction of explosive relation algebras

    Full text link
    Fork algebras are an extension of relation algebras obtained by extending the set of logical symbols with a binary operator called fork. This class of algebras was introduced by Haeberer and Veloso in the early 90's aiming at enriching relation algebra, an already successful language for program specification, with the capability of expressing some form of parallel computation. The further study of this class of algebras led to many meaningful results linked to interesting properties of relation algebras such as representability and finite axiomatizability, among others. Also in the 90's, Veloso introduced a subclass of relation algebras that are expansible to fork algebras, admitting a large number of non-isomorphic expansions, referred to as explosive relation algebras. In this work we discuss some general techniques for constructing algebras of this type

    A proof of the interpretability of P/PML in a relational setting

    Get PDF
    In [1] we presented the logic P=PML, a formalism suitable for the speci cation and construction of Real-Time systems. The main algebraic result, namely, the interpretability of P/PML into an equa- tional calculus based on w-closure fork algebras (which allows to reason about Real-Time systems in an equational calculus) was stated but not proved because of the lack of space. In this paper we present a detailed proof of the interpretability theorem, as well as the proof of the representation theorem for w-closure fork alge- bras which provides a very natural semantics based on binary relations for the equational calculus.Eje: TeoríaRed de Universidades con Carreras en Informática (RedUNCI

    A Logic for Real-Time Systems Specification, Its Algebraic Semantics, and Equational Calculus

    Get PDF
    We present a logic for real time systems specification which is an extension of first order dynamic logic by adding (a) arbitrary atomic actions rather than only assignments, (b) variables over actions which allow to specify systems partially, and (c) explicit time. The logic is algebraized using closure fork algebras and a representation theorem for this class is presented. This allows to define an equational (but infinitary) proof system for the algebraization.Laboratorio de Investigación y Formación en Informática Avanzad

    Efficient Bounded Model Checking of Heap-Manipulating Programs using Tight Field Bounds

    Get PDF
    Software model checkers are able to exhaustively explore different bounded program executions arising from various sources of nondeterminism. These tools provide statements to produce non-determinis- tic values for certain variables, thus forcing the corresponding model checker to consider all possible values for these during verification. While these statements offer an effective way of verifying programs handling basic data types and simple structured types, they are inappropriate as a mechanism for nondeterministic generation of pointers, favoring the use of insertion routines to produce dynamic data structures when verifying, via model checking, programs handling such data types. We present a technique to improve model checking of programs handling heap-allocated data types, by taming the explosion of candidate structures that can be built when non-deterministically initializing heap object fields. The technique exploits precomputed relational bounds, that disregard values deemed invalid by the structure’s type invariant, thus reducing the state space to be explored by the model checker. Precomputing the relational bounds is a challenging costly task too, for which we also present an efficient algorithm, based on incremental SAT solving. We implement our approach on top of the CBMC bounded model checker, and show that, for a number of data structures implementations, we can handle significantly larger input structures and detect faults that CBMC is unable to detect.Sociedad Argentina de Informática e Investigación Operativ
    • …
    corecore